[IA64] MCA support - Fix GET_THIS_PADDR and define log queue struct
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Sun, 29 Oct 2006 16:27:12 +0000 (09:27 -0700)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Sun, 29 Oct 2006 16:27:12 +0000 (09:27 -0700)
Signed-off-by: Yutaka Ezaki <yutaka.ezaki@jp.fujitsu.com>
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
xen/include/asm-ia64/linux-xen/asm/mca_asm.h
xen/include/asm-ia64/xenmca.h [new file with mode: 0644]

index 3cf3c38919d2f9d402a12fd73dca1723eacd8a6f..01c278afc28a0004c7ff575b08c4ce72305a76fc 100644 (file)
@@ -59,8 +59,8 @@
 
 #ifdef XEN
 #define GET_THIS_PADDR(reg, var)               \
-       movl    reg = THIS_CPU(var)             \
-       tpa     reg = reg
+       mov     reg = IA64_KR(PER_CPU_DATA);;   \
+       addl    reg = THIS_CPU(var) - PERCPU_ADDR, reg
 #else
 #define GET_THIS_PADDR(reg, var)               \
        mov     reg = IA64_KR(PER_CPU_DATA);;   \
diff --git a/xen/include/asm-ia64/xenmca.h b/xen/include/asm-ia64/xenmca.h
new file mode 100644 (file)
index 0000000..c541b23
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * File:       xenmca.h
+ * Purpose:    Machine check handling specific defines for Xen
+ *
+ * Copyright (C) 2006 FUJITSU LTD. (kaz@jp.fujitsu.com)
+ */
+
+#ifndef _ASM_IA64_XENMCA_H
+#define _ASM_IA64_XENMCA_H
+
+#ifndef __ASSEMBLER__
+#include <linux/list.h>
+#include <asm/sal.h>
+
+typedef struct sal_queue_entry_t {
+       int cpuid;
+       int sal_info_type;
+       unsigned int vector;
+       unsigned int virq;
+       unsigned int length;
+       struct list_head list;
+} sal_queue_entry_t;
+
+extern struct list_head sal_queue[];
+
+struct ia64_mca_tlb_info {
+       u64 cr_lid;
+       u64 percpu_paddr;
+};
+
+extern struct ia64_mca_tlb_info ia64_mca_tlb_list[];
+#endif /* __ASSEMBLER__ */
+
+#endif /* _ASM_IA64_XENMCA_H */